- Print
- DarkLight
Creates multiple articles in a single request. Each article is created independently; if one fails validation, the others are still created. The response includes per-article success/failure details. Maximum 100 articles per request. All articles are created in draft status.
All V3 endpoints require a Bearer token. Generate tokens in the Document360 portal under Settings > API Tokens. Tokens are project-scoped, require the customerApi scope, and do not expire by default. Tokens can be revoked at any time from the portal. Include the token in every request: Authorization: Bearer <your-token>. Alternatively, use the Authorize button below to sign in via OAuth2 Authorization Code flow with PKCE.
The unique identifier of the project. Retrieve project IDs from GET /v3/projects.
Bulk article creation details. Maximum 100 articles per request.
Creates multiple articles in a single request. Maximum 100 articles per request. All articles are created in draft status.
{
"articles": [
{
"title": "Getting Started with Single Sign-On",
"content": "# Introduction\nThis guide walks you through configuring SSO.",
"category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d",
"project_version_id": "1c2d3e4f-5a6b-7c8d-9e0f-a1b2c3d4e5f6",
"order": 0,
"user_id": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"content_type": null,
"slug": null
},
{
"title": "Configuring SAML Identity Providers",
"content": "# SAML Configuration\nStep-by-step SAML setup instructions.",
"category_id": "f4a5b6c7-d8e9-0a1b-2c3d-4e5f6a7b8c9d",
"project_version_id": "1c2d3e4f-5a6b-7c8d-9e0f-a1b2c3d4e5f6",
"order": 0,
"user_id": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
"content_type": null,
"slug": null
}
]
}Request to bulk create articles.
The list of articles to create. Maximum 100 items per request.
Request to create a new article.
The title of the article.
The body content of the article.
The identifier of the category to place the article in. Required for all article types except custom pages. Retrieve category IDs from GET /v3/projects/{projectId}/categories.
The project version to create the article in. Retrieve version IDs from GET /v3/projects/{projectId}/project-versions.
The display order of the article within its category.
The identifier of the user creating the article. Required for API token (M2M) authentication. When using a user access token (OAuth), this field is ignored — the user ID is resolved from the token. Retrieve user IDs from GET /v3/projects/{projectId}/users.
The editor content type for the article. Possible values: 0 = Markdown, 1 = Wysiwyg (rich text), 2 = Block.
Articles created successfully.
Results for each item in the bulk request. Check individual success flags to identify failures.
{
"data": [
{
"index": 0,
"id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
"success": true,
"details": "Article created successfully."
},
{
"index": 1,
"id": "c5d6e7f8-9a0b-1c2d-3e4f-5a6b7c8d9e0f",
"success": true,
"details": "Article created successfully."
}
],
"success": true,
"request_id": "req_abc123def456",
"errors": null,
"warnings": null
}Some items in the bulk request may fail while others succeed. The top-level success is false when any item fails. Use the index field to correlate results with input items.
{
"data": [
{
"index": 0,
"id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
"success": true,
"details": "Article created successfully."
},
{
"index": 1,
"id": null,
"success": false,
"details": "The Title field is required."
}
],
"success": false,
"request_id": "req_abc123def456",
"errors": null,
"warnings": null
}Generic API response wrapper containing typed data.
Response data payload.
Result of a bulk operation on a single item.
The zero-based position of this item in the original request array, enabling correlation of results to input items even when the operation fails and no ID is available.
The identifier of the item that was processed. May be null for failed create operations where no resource was created.
Whether the operation succeeded for this item.
Additional details or error message for the operation.
Whether the API request was successful.
Unique identifier for request tracing and correlation.
List of errors if the request failed.
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
List of non-fatal warnings from the request.
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
The request body is malformed or contains invalid JSON.
RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Authentication token is missing or invalid.
Authentication token is missing or invalid.
{
"type": "https://developer.document360.com/errors/unauthorized",
"title": "Unauthorized.",
"status": 401,
"detail": "The authentication token is missing or has expired.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "UNAUTHORIZED",
"message": "Bearer token is missing or invalid.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Validation failed.
The request body contains invalid data.
{
"type": "https://developer.document360.com/errors/validation-error",
"title": "Unprocessable Entity.",
"status": 422,
"detail": "One or more fields failed validation.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "VALIDATION_ERROR",
"message": "This field is required.",
"field": "title",
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
Rate limit exceeded. Retry after the duration specified in the Retry-After header.
Rate limit exceeded.
{
"type": "https://developer.document360.com/errors/too-many-requests",
"title": "Too Many Requests.",
"status": 429,
"detail": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
An unexpected server error occurred.
Unexpected server error.
{
"type": "https://developer.document360.com/errors/internal-error",
"title": "Internal Server Error.",
"status": 500,
"detail": "An unexpected error occurred. Please try again or contact support.",
"instance": null,
"trace_id": "req_abc123def456",
"errors": [
{
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred.",
"field": null,
"details": null
}
],
"warnings": null
}RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json
URI reference identifying the error type (links to documentation).
Short human-readable summary of the error type.
HTTP status code.
Human-readable explanation specific to this occurrence.
URI of the request that generated the error.
Request trace identifier for correlation.
Structured list of specific errors (extension field).
Represents an error returned by the API.
Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).
Human-readable error message.
The request field that caused the error, if applicable.
Additional context about the error.
Non-fatal warnings (extension field).
Represents a non-fatal warning from the API.
Machine-readable warning code.
Human-readable warning message.
